Inconsistency in a file system occurs when data destruction due to a malfunction and a failure of the software or the hardware of the file server occurs. When such inconsistency in the file system is left for a long time and the inconsistency is detected by an operation I/O error and the like in the file system, there may be quite a lot of cases in which too many inconsistencies cause difficult restoration.
One of the techniques to search for inconsistency in the file system and repair it is FSCK (file system check). FSCK is one important reliability enhancement function for maintaining the availability of the file system.
However, FSCK has a problem in that an enormous amount of time is required. This is because, for example, a large part of the meta data of the file system that is the processing target must be read out, and the like.
Meanwhile, along with the increase in electronic data in recent years, the scale of file systems made use of by companies has been expanding. In such a situation, it has become difficult to complete the processing of FSCK within the time in which offline execution is possible (for example, within the time in which there are no problems in actual operations such as the time period for the batch process during the night). Furthermore, in operations that have been globalized, access to the data of the file systems has been being made around the clock in more cases. For that reason, it has also become difficult to halt operations in order for the offline execution of FSCK.
According to the situation as described above, a technique for speeding up FSCK in a large-scale file system such as that of a petabyte class is sought. For example, dividing a file system into a plurality of small-scale file systems has been considered. Performing journaling in a file system has also been considered. Journaling is a function to maintain/manage the file update history for the restoration at the time of the occurrence of a failure.
Meanwhile, the techniques described in the respective documents below have been known.
Japanese Laid-open Patent Publication No. 2008-165474
Japanese Laid-open Patent Publication No. 9-6653
Japanese Laid-open Patent Publication No. 2005-250819
Val Henson, Arjan van de Ven, Amit Gud, Zach Brown, “Chunkfs: Using divide-and-conquer to improve file system reliability and repair” HOTDEP'06 Proceedings of the 2nd conference on Hot Topics in System Dependability—Volume 2, Pages 7-7, 2006
Stephen C. Tweedie “Journaling the Linux ext2fs Filesystem” Proceedings of the 4th Annual LinuxExpo, Durham, N.C., 1998